package test3.bit;

/**
 * 476. 数字的补数
 * 给你一个 正 整数 num ，输出它的补数。补数是对该数的二进制表示取反。
 */
public class FindComplement {
    public static void main(String[] args) {
        int res = new FindComplement().findComplement(1);
        System.out.println(res);
        System.out.println(Integer.toBinaryString(res));
    }

    public int findComplement(int num) {
        int res = 0;
        int count = 0;
        while (num != 0) {
            int temp = num & 1;
            if (temp == 0) {
                res += 1 << count;
            }
            count++;
            num >>= 1;
        }
        return res;
    }
}
